import re


def parse_application(text):
    # 初始化结果字典
    result = {
        '申请类别': None,
        '用户信息': None,
        '用户套餐': None,
        'arpu值': None,
        '退订业务': None,
        '减免总金额': None,
        '增加折扣': None,
        '减免原因': None,
        '挽留策略': None,
        '是否有责': None,
        '具体责任人': None,
    }


    # 提取申请类别
    category_match = re.search(r'申请类别：(.+)', text)
    if category_match:
        result['申请类别'] = category_match.group(1).strip()

    # 提取用户信息（姓名和身份证号）
    user_info_match = re.search(r'用户信息：(\S+)(\d{17}[\dXx])', text)
    if user_info_match:
        result['用户信息'] = user_info_match.group(1)


    # 提取竖线分隔的字段
    fields = {
        '用户套餐': r'用户套餐：(.+)',
        'arpu值\*': r'arpu值\*：(.+)',
        '退订业务': r'退订业务：(.+)',
        '减免总金额': r'减免总金额：(.+)',
        '增加折扣': r'增加折扣：(.+)',
        '减免原因': r'减免原因\*：(.+)',
        '挽留策略': r'挽留策略：(.+)',
        '是否有责': r'是否有责：(.+)',
        '具体责任人': r'具体责任人：(.+)'
    }

    for key, pattern in fields.items():
        match = re.search(pattern, text)
        if match:
            # 去除首尾空格，并处理空值（如果字段后直接跟换行符）
            value = match.group(1).strip()
            result[key] = value if value else None

    return result


# 测试文本
text = """参考模板1.1
申请类别：退订小业务
用户信息：沈宏莉18994796025
用户套餐*：融合199
|arpu值*：177
退订业务：会员随心选和翼留言
|减免总金额：84
|增加折扣：无
减免原因*：体验已满4个月，不认可费用要求退订
|挽留策略：退订
|是否有责：无责
|具体责任人：无
"""

# 解析文本并打印结果
result = parse_application(text)
for key, value in result.items():
    print(f"{key}: {value}")